﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Systemet.SideViews
{
    public partial class SideAvkastningskrav : UserControl
    {
        private int nuvarandeAvkast = 0;
        private Domain.Budgetcontroller bc= new Domain.Budgetcontroller();

        public SideAvkastningskrav()
        {
            InitializeComponent();
            AccessController.Instance.SidMeny = this;
            viewAvkastningskrav();
        }
        private void viewAvkastningskrav()
        {
            if (bc.GetAvkastningaKrav() > 0)
                nuvarandeAvkast = bc.GetAvkastningaKrav();

            labelAktuelltAvkastningskrav.Text = "" + nuvarandeAvkast + " (tkr)";
        }

        private void SideAvkastningskrav_Load(object sender, EventArgs e)
        {
            FlowController.Instance.ShowSpecifikMenu(FlowController.Instance.MainTabView[0]);
        }

        private void btnAvkastKr_Click(object sender, EventArgs e)
        {
            int value = 0;
            int existerandeAvkastningskrav = bc.GetAvkastningaKrav();

            if (int.TryParse(textBox11.Text, out value) & existerandeAvkastningskrav > 0)
            {
                if (value > 0)
                {
                    DialogResult dialogResult = MessageBox.Show("Det finns redan ett avkastningskrav: " +
                        existerandeAvkastningskrav + ". Vill du spara över detta?"
                        , "Avkastningskrav finns redan", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                        if (value > 0 & bc.SetAvkastningsKrav(value))
                        {
                            viewAvkastningskrav();
                            MessageBox.Show("Avkastningskrav sparat!");
                        }
                        else
                            MessageBox.Show("Avkastningskrav måste vara större än 0!");
                    }
                }
                else
                    MessageBox.Show("Avkastningskrav måste vara ett numeriskt värde över 0!");
            }
            else if (int.TryParse(textBox11.Text, out value) & existerandeAvkastningskrav < 0)
            {
                if (value > 0)
                {
                    DialogResult dialogResult = MessageBox.Show("Det finns inget existerande avkastningskrav.\n Vill du spara det angivna värdet: "
                        + value + "?", "Spara avkastningskrav", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                        if (bc.SetAvkastningsKrav(value))
                        {
                            viewAvkastningskrav();
                            MessageBox.Show("Avkastningskrav sparat!");
                        }
                    }
                }
                else
                    MessageBox.Show("Avkastningskrav måste vara ett numeriskt värde över 0!");
            }
            else
            {
                MessageBox.Show("Avkastningskrav måste vara ett numeriskt värde över 0!");
            }
        }
    }
}
